﻿using System.Threading.Tasks;
using SDCloudSolution.SDCloud.Web.Models;
using SDCloudSolution.SDCloud.Web.Models.ModelRun;

namespace SDCloudSolution.SDCloud.Web.Infrastructure.Interfaces
{
    public interface IModelRunViewModelProvider
    {
        Task<ModelRunListViewModel> GetListAsync(PagingModel paging);

        Task<ModelRunListViewModel> GetActiveListAsync(PagingModel pagingModel);

        Task<SpecificModelRunListViewModel> GetListFromModelAsync(int modelId, PagingModel pagingModel);

        Task<ModelRunListItemViewModel> GetLastModelRunForModelAsync(int modelId);

        Task<ModelRunViewModel> GetModelRunViewModelAsync(int modelRunId);

        Task CancelModelRunAsync(int modelRunId);

        Task QuickStartForModelAsync(int modelId);
    }
}
